/****************************************************
 * 
 * home soft 版权所有.
 * 
 *****************************************************/

package com.homesoft.runtime.metadata.modle;

/**
 * @author lihg
 * @data 2012-9-15
 */
public interface IMetadataObject extends IOwnerAware, IInheritSupport {

	/**
	 * 获取或设置名称
	 * 
	 * @return
	 */
	String getName();

	/**
	 * 获取或设置名称
	 * 
	 * @param name
	 */
	void setName(String name);

	/**
	 * 别名,多语使用
	 * 
	 * @return
	 */
	MultilingualField getAlias();

	/**
	 * 别名,多语使用
	 * 
	 * @param alias
	 */
	void setAlias(MultilingualField alias);

	/**
	 * 描述
	 * 
	 * @return
	 */
	MultilingualField getDescription();

	/**
	 * 描述
	 * 
	 * @param description
	 */
	void setDescription(MultilingualField description);

	/**
	 * 获取或设置是否用户定义
	 * 
	 * @return
	 */
	boolean isUserDefine();

	/**
	 * 获取或设置是否用户定义
	 * 
	 * @param userDefine
	 */
	void setUserDefine(boolean userDefine);

	/**
	 * 获取 扩展数据
	 * 
	 * @return
	 */
	IExtendDataList getExtData();

	/**
	 * 加载后的事件(此时其他对象有可能还没有加载，只适合做一些自身内部的初始化)
	 */
	void AfterLoad();
}
